#include <iostream>
using namespace std;


// int Fun(T t1); // 泛型函数声明

// template <class T> // 泛型函数定义

// 声明泛型类型T
template <class T> 
int Fun(T t1)   // 泛型函数定义
{
    cout<<"t1的值为:"<<t1<<endl;
    return 0;
}


template <class T> 
int Fun2(T & t2)    // 引用参数
{
    cout<<"t2的值为:"<<t2<<endl;
    return 0;
}


int main(int argc, char const *argv[])
{
    Fun(10);
    Fun(10.0f);
    Fun("hello");

    int a = 100;
    char b = 'a';
    string s = "hello";
    Fun2(a);
    Fun2(b);
    Fun2(s);

    return 0;
}